﻿<?xml version="1.0" encoding="utf-8" ?>
<Feature id="UserLogin" name="User Login Information">
	<BusinessObjects>
		<BusinessObject type="NotificationObserver" key="id">
			<Field name="id" type="Guid" />
			<Field name="eventId" type="String" />
			<Field name="emailFrom" type="String" />
			<Field name="emailTo" type="String" />
			<Field name="articleId" type="Guid" />
			<Field name="companyId" type="Guid" />
		</BusinessObject>
		
		<BusinessObject type="NotificationEvent" key="name">
			<Field name="name" type="String" />
			<Field name="observers" type="List(NotificationObserver)" />
		</BusinessObject>
	</BusinessObjects>
	
	<BusinessRules>
		<BusinessRule name="getNotificationEvents" security="disabled">
			<Option value="$NotificationRemoteTier$">
				<RemoteRule url="$NotificationRemoteTier$" />
				<LocalClass name="Notification.NotificationBizRules,ScsCore" />
			</Option>
		</BusinessRule>
		<BusinessRule name="getNotificationEmailArticles" security="disabled">
			<Option value="$NotificationRemoteTier$">
				<RemoteRule url="$NotificationRemoteTier$" />
				<LocalClass name="Notification.NotificationBizRules,ScsCore" />
			</Option>
		</BusinessRule>
		<BusinessRule name="getNotificationObserversForEvent" security="disabled">
			<Option value="$NotificationRemoteTier$">
				<RemoteRule url="$NotificationRemoteTier$" />
				<LocalClass name="Notification.NotificationBizRules,ScsCore" />
			</Option>
		</BusinessRule>
		<BusinessRule name="getNotificationObservers" security="disabled">
			<Option value="$NotificationRemoteTier$">
				<RemoteRule url="$NotificationRemoteTier$" />
				<LocalClass name="Notification.NotificationBizRules,ScsCore" />
			</Option>
		</BusinessRule>
		<BusinessRule name="updateNotifyObserver" security="disabled">
			<Option value="$NotificationRemoteTier$">
				<RemoteRule url="$NotificationRemoteTier$" />
				<LocalClass name="Notification.NotificationBizRules,ScsCore" />
			</Option>
		</BusinessRule>
		<BusinessRule name="deleteNotifyObserver" security="disabled">
			<Option value="$NotificationRemoteTier$">
				<RemoteRule url="$NotificationRemoteTier$" />
				<LocalClass name="Notification.NotificationBizRules,ScsCore" />
			</Option>
		</BusinessRule>
		<BusinessRule name="notifyObservers" security="disabled">
			<Option value="$NotificationRemoteTier$">
				<RemoteRule url="$NotificationRemoteTier$" />
				<LocalClass name="Notification.NotificationBizRules,ScsCore" />
			</Option>
		</BusinessRule>
	</BusinessRules>

	<ApplicationData>
		<Entry name="notificationEvents" type="Swaf.Container.FlexiMap" />
	</ApplicationData>

	<ApplicationFunctions id="Notification" description="Application Event Notification">
		<AppFunction id="ManageNotification" description="Manage what emails get sent from system events." />
	</ApplicationFunctions>

	<ClassFactory id="BizProcs">
		<Class type="Notification.Gui.NotificationManagementBizProc,ScsCore" name="notificationManagement"/>
	</ClassFactory>
</Feature>